Skip to content

Conversation

@wking
Copy link
Member

@wking wking commented Jun 11, 2019

To make it easier for admins and support staff to troubleshoot when the cluster-version operator gets stuck.

The SVGs were generated with:

$ go build ./cmd/cluster-version-util
$ mkdir /tmp/release
$ oc image extract quay.io/openshift-release-dev/ocp-release:4.1.0[-1] --path /:/tmp/release
$ mkdir /tmp/release/manifests
$ ./cluster-version-util task-graph /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg
$ ./cluster-version-util task-graph --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg

using:

$ dot -V
dot - graphviz version 2.30.1 (20170916.1124)

@openshift-ci-robot openshift-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jun 11, 2019
@wking wking force-pushed the synchronization-docs branch from b0688b2 to dcfcf98 Compare June 11, 2019 01:54
@wking wking force-pushed the synchronization-docs branch from dcfcf98 to c15bd01 Compare June 11, 2019 02:34
@wking
Copy link
Member Author

wking commented Jun 11, 2019

/hold

Still a few FIXMEs in here.

@openshift-ci-robot openshift-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 11, 2019
@wking wking force-pushed the synchronization-docs branch from c15bd01 to 287ed5c Compare June 11, 2019 02:57
@wking
Copy link
Member Author

wking commented Jun 11, 2019

Addressed some of the FIXMEs with c15bd01 -> 287ed5c. The remaining ones are "I don't actually understand why the CVO is doing something" ;).

@wking wking force-pushed the synchronization-docs branch from 287ed5c to d29f6ef Compare June 11, 2019 14:29
@wking wking changed the title docs/user/syncronization: Document release-image application docs/user/reconciliation: Document release-image application Jun 11, 2019
@wking
Copy link
Member Author

wking commented Jun 11, 2019

Removed the final FIXMEs with 287ed5c -> d29f6ef.

/hold cancel

@openshift-ci-robot openshift-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 11, 2019
@wking wking force-pushed the synchronization-docs branch from d29f6ef to b097cd0 Compare June 12, 2019 03:20

### ClusterOperator

The cluster-version operator does not push ClusterOperator into the cluster.
Copy link

@DanyC97 DanyC97 Jun 15, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wking my 0.002£ .

reading your doc (much appreciating for adding this types of info) i had to remember myself the diff between the too ;)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • i'd rename cluster-version to ClusterVersion...

I like "cluster-version operator" because it operates on the cluster version, not just the ClusterVersion custom-resource. But this repo has many names for this operator of which "cluster-version operator" is only one. So I've left this alone for now, but am ok changing it if we pick a name that we want to make canonical.

  • i'd also insert a link on ClusterOperator...

Done with b097cd0 -> cde8d50.

To make it easier for admins and support staff to troubleshoot when
the cluster-version operator gets stuck.

The SVGs were generated with:

  $ go build ./hack/cluster-version-util
  $ mkdir /tmp/release
  $ oc image extract quay.io/openshift-release-dev/ocp-release:4.1.0[-1] --path /:/tmp/release
  $ mkdir /tmp/release/manifests
  $ ./cluster-version-util task-graph /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg
  $ ./cluster-version-util task-graph --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg

using:

  $ dot -V
  dot - graphviz version 2.30.1 (20170916.1124)

I initially put the utility program in cmd/cluster-version-util,
moving the main operator to cmd/cluster-version-operator.  But Abhinav
was concerned about implied support for tooling that is really just
intended for exposing internal CVO logic, so this commit puts it under
hack/ with a caveat in the main help text.

The PATH documentation is stuffed into Use because cobra lacks direct
support for named positional arguments [1].

[1]: spf13/cobra#378
@wking wking force-pushed the synchronization-docs branch from b097cd0 to cde8d50 Compare August 2, 2019 16:23
Comment on lines +117 to +138
The ClusterOperator builder only monitors the in-cluster object and blocks until it is:

* Available
* Either not progressing or, when the release image manifest has `status.versions` entries, listing at least the versions given in that manifest.
For example, an OpenShift API server ClusterOperator entry in the release image like:

```yaml
apiVersion: config.openshift.io/v1
kind: ClusterOperator
metadata:
name: openshift-apiserver
spec: {}
status:
versions:
- name: operator
version: "4.1.0"
```

would block until the in-cluster ClusterOperator reported `operator` at version 4.1.0.

The progressing check is deprecated and will be removed once all operators are reporting versions.
* Not degraded (except during initialization, where we ignore the degraded status)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is already some content here...

Filed #274 to consolidate.

@abhinavdahiya
Copy link
Contributor

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Nov 26, 2019
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abhinavdahiya, wking

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [abhinavdahiya,wking]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

1 similar comment
@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@wking
Copy link
Member Author

wking commented Nov 26, 2019

e2e-aws failure:

fail [github.com/openshift/origin/test/extended/operators/cluster.go:114]: Expected
    <[]string | len:2, cap:2>: [
        "Pod openshift-marketplace/csctestlabel-846b994d4b-kflpj is not healthy: container csctestlabel exited with non-zero exit code",
        "Pod openshift-marketplace/opsrctestlabel-d7499fcb8-fmjzc was pending entire time: unknown error",
    ]
to be empty
...
failed: (2m6s) 2019-11-26T22:54:20 "[Feature:Platform] Managed cluster should have no crashlooping pods in core namespaces over two minutes [Suite:openshift/conformance/parallel]"

@wking
Copy link
Member Author

wking commented Nov 26, 2019

Those pods were no longer running by must-gather time. Ah well.

@openshift-merge-robot openshift-merge-robot merged commit 2cf4881 into openshift:master Nov 27, 2019
@wking wking deleted the synchronization-docs branch November 27, 2019 04:05
wking added a commit to wking/cluster-version-operator that referenced this pull request Nov 27, 2019
cde8d50 (docs/user/reconciliation: Document release-image
application, 2019-06-10, openshift#201) just landed, so drop some of the
reconciliation docs from the parallel 105ea1f (document CVO
behavior w/ respect to cluster operator conditions, 2019-07-12, openshift#222)
and similar in favor of a link to the new reconciliation location.

Also move the file-extension note over to the reconciliation side,
since it's more generic than ClusterOperator.  It's not really user
docs either, but that's the most generic location we have at the
moment.

Also fix a few more Failing->Degraded bits to catch up with fad0688
(pkg/cvo/metrics/go: the cluster operators report Degraded and not
Failing, 2019-08-07, openshift#232) and similar.
wking added a commit to wking/cluster-version-operator that referenced this pull request Jul 25, 2023
Using the same process as cde8d50 (docs/user/reconciliation:
Document release-image application, 2019-06-10, openshift#201), but for 4.13.0:

The SVGs were generated with:

  $ go build ./hack/cluster-version-util
  $ mkdir /tmp/release
  $ oc image extract quay.io/openshift-release-dev/ocp-release:4.13.0-x86_64[-1] --path /:/tmp/release
  $ mkdir /tmp/release/manifests
  $ ./cluster-version-util task-graph /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg
  $ ./cluster-version-util task-graph --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg

using:

  $ go version
  go version go1.19.5 linux/amd64
  $ dot -V
  dot - graphviz version 2.43.0 (0)
wking added a commit to wking/cluster-version-operator that referenced this pull request Oct 26, 2023
Using a similar process to cde8d50 (docs/user/reconciliation:
Document release-image application, 2019-06-10, openshift#201) and 4353698
(docs/user/tasks-*by-number-and-component.svg: Update to 4.13,
2023-07-25, openshift#949), but for 4.15.0-ec.1.  The SVGs were generated with
the new --granularity flag set to 'manifest', to make it easier for
cluster operator maintainers to understand how their manifests are
collected into task nodes:

  $ go build ./hack/cluster-version-util
  $ mkdir /tmp/release
  $ oc image extract quay.io/openshift-release-dev/ocp-release:4.15.0-ec.1-x86_64[-1] --path /:/tmp/release
  $ mkdir /tmp/release/manifests
  $ ./cluster-version-util task-graph --granularity manifest /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg
  $ ./cluster-version-util task-graph --granularity manifest --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg

using:

  $ go version
  go version go1.21.1 linux/amd64
  $ dot -V
  dot - graphviz version 2.43.0 (0)
wking added a commit to wking/cluster-version-operator that referenced this pull request Apr 11, 2024
Using the same process as cde8d50 (docs/user/reconciliation:
Document release-image application, 2019-06-10, openshift#201) and 4353698
(docs/user/tasks-*by-number-and-component.svg: Update to 4.13,
2023-07-25, openshift#949), but for 4.15.0:

The SVGs were generated with:

  $ go build ./hack/cluster-version-util
  $ mkdir /tmp/release
  $ oc image extract quay.io/openshift-release-dev/ocp-release:4.15.0-x86_64[-1] --path /:/tmp/release
  $ mkdir /tmp/release/manifests
  $ ./cluster-version-util task-graph /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg
  $ ./cluster-version-util task-graph --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg

using:

  $ go version
  go version go1.21.6 linux/amd64
  $ dot -V
  dot - graphviz version 2.43.0 (0)
wking added a commit to wking/cluster-version-operator that referenced this pull request Apr 11, 2024
Using the same process as cde8d50 (docs/user/reconciliation:
Document release-image application, 2019-06-10, openshift#201) and 4353698
(docs/user/tasks-*by-number-and-component.svg: Update to 4.13,
2023-07-25, openshift#949), but for 4.15.0.  The SVGs were generated with:

  $ go build ./hack/cluster-version-util
  $ mkdir /tmp/release
  $ oc image extract quay.io/openshift-release-dev/ocp-release:4.15.0-x86_64[-1] --path /:/tmp/release
  $ mkdir /tmp/release/manifests
  $ ./cluster-version-util task-graph /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg
  $ ./cluster-version-util task-graph --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg

using:

  $ go version
  go version go1.21.6 linux/amd64
  $ dot -V
  dot - graphviz version 2.43.0 (0)
wking added a commit to wking/cluster-version-operator that referenced this pull request Aug 5, 2025
Using a similar process to cde8d50 (docs/user/reconciliation:
Document release-image application, 2019-06-10, openshift#201) and 4353698
(docs/user/tasks-*by-number-and-component.svg: Update to 4.13,
2023-07-25, openshift#949), but for 4.20.0-ec.5.  The SVGs were generated with
the new --granularity flag set to 'manifest', to make it easier for
cluster operator maintainers to understand how their manifests are
collected into task nodes:

  $ go build ./hack/cluster-version-util
  $ mkdir /tmp/release
  $ oc image extract quay.io/openshift-release-dev/ocp-release:4.20.0-ec.5-x86_64[-1] --path /:/tmp/release
  $ mkdir /tmp/release/manifests
  $ ./cluster-version-util task-graph --granularity manifest /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg
  $ ./cluster-version-util task-graph --granularity manifest --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg

using:

  $ go version
  go version go1.23.6 linux/amd64
  $ dot -V
  dot - graphviz version 2.43.0 (0)
wking added a commit to wking/cluster-version-operator that referenced this pull request Aug 6, 2025
Using a similar process to cde8d50 (docs/user/reconciliation:
Document release-image application, 2019-06-10, openshift#201) and 4353698
(docs/user/tasks-*by-number-and-component.svg: Update to 4.13,
2023-07-25, openshift#949), but for 4.20.0-ec.5.  The SVGs were generated with
the new --granularity flag set to 'manifest', to make it easier for
cluster operator maintainers to understand how their manifests are
collected into task nodes:

  $ go build ./hack/cluster-version-util
  $ mkdir /tmp/release
  $ oc image extract quay.io/openshift-release-dev/ocp-release:4.20.0-ec.5-x86_64[-1] --path /:/tmp/release
  $ mkdir /tmp/release/manifests
  $ ./cluster-version-util task-graph --granularity manifest /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg
  $ ./cluster-version-util task-graph --granularity manifest --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg

using:

  $ go version
  go version go1.23.6 linux/amd64
  $ dot -V
  dot - graphviz version 2.43.0 (0)
wking added a commit to wking/cluster-version-operator that referenced this pull request Aug 6, 2025
Using a similar process to cde8d50 (docs/user/reconciliation:
Document release-image application, 2019-06-10, openshift#201) and 4353698
(docs/user/tasks-*by-number-and-component.svg: Update to 4.13,
2023-07-25, openshift#949), but for 4.20.0-ec.5.  The SVGs were generated with
the new --granularity flag set to 'manifest', to make it easier for
cluster operator maintainers to understand how their manifests are
collected into task nodes:

  $ go build ./hack/cluster-version-util
  $ mkdir /tmp/release
  $ oc image extract quay.io/openshift-release-dev/ocp-release:4.20.0-ec.5-x86_64[-1] --path /:/tmp/release
  $ mkdir /tmp/release/manifests
  $ ./cluster-version-util task-graph --granularity manifest /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg
  $ ./cluster-version-util task-graph --granularity manifest --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg

using:

  $ go version
  go version go1.23.6 linux/amd64
  $ dot -V
  dot - graphviz version 2.43.0 (0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants